Matlab:传递函数(含迟延环节)/状态空间方程/z传递函数的构造/运算/转化 |
您所在的位置:网站首页 › s参数转换到z参数 matlab › Matlab:传递函数(含迟延环节)/状态空间方程/z传递函数的构造/运算/转化 |
1、传递函数 1.1 构造传递函数 (1) Matlab可以这样构造上式 num=[10 30 20]; den=[1 12 47 60]; sysc=tf(num,den) 运行结果(2) 根据零极点构造表达式: z=[-1 -2]; p=[-3 -4 -5]; k=10; sysc=zpk(z,p,k) 运行结果:(3)多项式表达式和零极点表达式之间的转化 已有 num=[10 30 20];den=[1 12 47 60];sysc_tf=tf(num,den); z=[-1;-2];p=[-3;-4;-5];k=10;sysc_zpk=zpk(z,p,k);i 多项式转化为零极点形式: sysc_tf1=tf(sysc_zpk)或者 [z1,p1,k1]=tf2zp(num,den); sysc_zpk=zpk(z1,p1,k1)结果都是 ii零极点转化为多项式形式: sysc_tf=tf(sysc_zpk)或者 [num1,den1]=zp2tf(z,p,k); sysc_tf=tf(num1,den1)结果都是 (4) 构造下式所示的传递函数 可以: num=[5]; den=[1 10 0]; g=tf(num,den,'ioDelay',3)也可以 z=[]; p=[0 -10]; k=1; g2=zpk(z,p,k,'ioDelay',3)1.2 传递函数串联、并联、反馈 num1=[1 2];den1=[3 4];G1=tf(num1,den1); num2=[1 2];den2=[3 4];G2=tf(num2,den2);1.2.1串联 G3=series(G1,G2)或者 [num3,den3]=series(num1,den1,num2,den2); G3=tf(num3,den3)1.2.2并联 G3=parallel(G1,G2)或者 [num3,den3]=parallel(num1,den1,num2,den2); G3=tf(num3,den3)1.2.3(负)反馈 G3=feedback(G1,G2)或者 [num3,den3]=feedback(num1,den1,num2,den2); G3=tf(num3,den3)feedback(G,H)。其中G是传递函数,H为反馈函数,表示一个控制系统G,对其进行负反馈H(要求正反馈用-H)。 2、z传递函数 2.1 z传递函数的构造 num=[1 2]; den=[1 2 3]; G=tf(num,den,1)%采样时间为1s结果: 或者可以这样 z=tf('z',1); G=(z+2)/(z^2+2*z+3)结果也是 2.2 z传递函数和传递函数的转化 z函数转化为s函数 num=[1 2];den=[1 2 3];G=tf(num,den,1);%采样时间为1s csysc=d2c(G) [num, den] = tfdata( csys, 'v' )%获取s函数分子、分母结果 s函数转化为z函数 紧接上式 Hd=c2d(csysc,1,'zoh')得到结果 3、状态空间函数 3.1构造状态空间函数 A=[0 1 -2;3 4 0; 5 0 0]; B=[0;1;0]; C=[0 0 1]; D=0; sys=ss(A,B,C,D,1)3.2构造函数和传递函数的转化 A=[0 1 -2;3 4 0; 5 0 0];B=[0;1;0];C=[0 0 1];D=0; %状态空间到传递函数 [num,den]=ss2tf(A,B,C,D) %传递函数到状态空间 [A,B,C,D]=tf2ss(num,den)需要注意的是状态空间方程不唯一,传递函数唯一 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |